home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 June / CHIP Haziran 2001.iso / prog / share / 17 / dings_e.exe / Compiler / Bin / GFFileSystem.h < prev    next >
C/C++ Source or Header  |  2001-03-02  |  5KB  |  149 lines

  1. //-------GFFileSystem.h------------------------------//
  2. //  Global functions for file handling
  3. #ifndef GFFILESYSTEM_H
  4. #define GFFILESYSTEM_H
  5.  
  6. #include "stdafx.h"
  7. #include <stdlib.h>
  8. #include <stdio.h>
  9. #include <fstream.h>
  10.  
  11. class GFFileSystem
  12. {
  13. public:
  14. // ------------------------------------------------------------- //
  15. bool GFFileSystem::OpenIn(LPCTSTR file)
  16. // ------------------------------------------------------------- //
  17. {
  18. //    if (m_file.is_open()) this->Close();
  19.     if (!this->DoesFileExist(file)) return false;
  20.     m_file.open (file, ios::in | ios::binary);
  21. return true;
  22. }
  23.  
  24. // ------------------------------------------------------------- //
  25. bool GFFileSystem::OpenOut(LPCTSTR file)
  26. // ------------------------------------------------------------- //
  27. {
  28. //    if (m_file.is_open()) this->Close();
  29.     m_file.open(file, ios::out | ios::binary);
  30. return m_file.is_open() ? true : false;
  31. }
  32.  
  33. // ------------------------------------------------------------- //
  34. void GFFileSystem::Close()    {if (m_file.is_open()) m_file.close();}
  35. // ------------------------------------------------------------- //
  36.  
  37. // ------------------------------------------------------------- //
  38. void GFFileSystem::Write(void* buffer, int bytes)
  39. // ------------------------------------------------------------- //
  40. {
  41.     if (m_file.is_open())
  42.         m_file.write((char*) buffer, bytes);
  43. }
  44.  
  45. // ------------------------------------------------------------- //
  46. void GFFileSystem::Read(void* buffer, int bytes)
  47. // ------------------------------------------------------------- //
  48. {
  49.     if (m_file.is_open())
  50.         m_file.read((char*) buffer, bytes);
  51. }
  52.  
  53. void GFFileSystem::operator << (int& num) {this->Write(&num, sizeof(num));}
  54. void GFFileSystem::operator << (float& num) {this->Write(&num, sizeof(num));}
  55. void GFFileSystem::operator << (double& num) {this->Write(&num, sizeof(num));}
  56. void GFFileSystem::operator << (DWORD& num) {this->Write(&num, sizeof(num));}
  57. void GFFileSystem::operator << (long& num) {this->Write(&num, sizeof(num));}
  58. void GFFileSystem::operator << (char& num) {this->Write(&num, sizeof(num));}
  59.  
  60. void GFFileSystem::operator >> (int& num) {this->Read(&num, sizeof(num));}
  61. void GFFileSystem::operator >> (float& num) {this->Read(&num, sizeof(num));}
  62. void GFFileSystem::operator >> (double& num) {this->Read(&num, sizeof(num));}
  63. void GFFileSystem::operator >> (DWORD& num) {this->Read(&num, sizeof(num));}
  64. void GFFileSystem::operator >> (long& num) {this->Read(&num, sizeof(num));}
  65. void GFFileSystem::operator >> (char& num) {this->Read(&num, sizeof(num));}
  66.  
  67.  
  68.  
  69.     //---------------------------------------------------------------//
  70.     static void DeleteDebug()
  71.     //---------------------------------------------------------------//
  72.     {
  73.         char filename[MAX_PATH];
  74.         ::GetTempPath(MAX_PATH,filename);
  75.         strcat(filename, "\\ErrorLog.txt");
  76.         ::DeleteFile(filename);
  77.     }
  78.  
  79.     //---------------------------------------------------------------//
  80.     static void WriteDebug(LPCTSTR text)
  81.     //---------------------------------------------------------------//
  82.     {
  83.         char filename[MAX_PATH];
  84.         ::GetTempPath(MAX_PATH,filename);
  85.         strcat(filename, "\\ErrorLog.txt");
  86.         ofstream file(filename, ios::app|ios::out);
  87.         file<< text;
  88.         file<< "\r\n";
  89.         file.close();
  90.     }
  91.  
  92.     //---------------------------------------------------------------//
  93.     static void WriteDebug(double number)
  94.     //---------------------------------------------------------------//
  95.     {
  96.         char filename[MAX_PATH];
  97.         ::GetTempPath(MAX_PATH,filename);
  98.         strcat(filename, "\\ErrorLog.txt");
  99.         ofstream file(filename, ios::app|ios::out);
  100.         file<< number;
  101.         file<< "\r\n";
  102.         file.close();
  103.     }
  104.  
  105.     //---------------------------------------------------------------//
  106.     static bool DoesFileExist(LPCTSTR filename)
  107.     //---------------------------------------------------------------//
  108.     {
  109.         FILE *filehandle;
  110.         if((filehandle=fopen(filename, "rb"))==NULL) return false;
  111.         fclose (filehandle);
  112.         return true;
  113.     }
  114.  
  115.  
  116.  
  117.  
  118.     //---------------------------------------------------------------//
  119.     static void MapKeyState()
  120.     //---------------------------------------------------------------//
  121.     {
  122.         BYTE    buffer[256];
  123.         if (!::GetKeyboardState(buffer))
  124.             GFFileSystem::WriteDebug("nO stATE");
  125.         GFFileSystem::WriteDebug("KeyState:");
  126.         for (int i=0; i<256; i++)
  127.         {
  128.         //    if (buffer[i]>=128) GFFileSystem::WriteDebug(i);
  129.         }
  130.  
  131.  
  132.     }
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139. protected:
  140.     fstream    m_file;
  141. };
  142.  
  143.  
  144.  
  145. #define g_deldebug()        GFFileSystem::DeleteDebug();
  146. #define g_debug(a)            GFFileSystem::WriteDebug(a)
  147. #define g_FileExist(a)        GFFileSystem::DoesFileExist(a)
  148.  
  149. #endif